package com.kws.tool.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.*;
import java.util.List;

/**
 * @author : zhangbenting
 * @date : 2024/11/29 11:45
 * @Version: 1.0
 */
@Data
@ApiModel(description = "储能测算输入实体")
public class EnergyStorageDto {

    @ApiModelProperty(value = "安装区域", required = true)
    @NotNull(message = "用电类型不能为空")
    private String azqy;

    @ApiModelProperty(value = "安装详细地址", required = true)
    @NotBlank(message = "项目地址不能为空")
    private String azxxdz;

    @ApiModelProperty(value = "投资费用", required = true)
    @NotBlank(message = "投资费用不能为空")
    private String tzfy;

    @ApiModelProperty(value = "用电方式", required = true)
    @NotBlank(message = "用电方式不能为空")
    private String ydfs;

    @ApiModelProperty(value = "报装容量", required = true)
    @NotBlank(message = "报装容量不能为空")
    private String bzrl;

    @ApiModelProperty(value = "变压器容量", required = true)
    private String byqrl;

    @ApiModelProperty(value = "典型日负荷曲线", required = true)
    @NotBlank(message = "典型日负荷曲线不能为空")
    private String dxrfqx;

    @ApiModelProperty(value = "月度用电量（选填）")
    private String ydydl;

    @ApiModelProperty(value = "电压等级", required = true)
    @NotBlank(message = "电压等级不能为空")
    private String dydj;

    @ApiModelProperty(value = "放电深度", required = true)
    @NotBlank(message = "放电深度不能为空")
    private String fdsd;

    @ApiModelProperty(value = "放电时长", required = true)
    @NotBlank(message = "放电时长不能为空")
    private String fdsc;

    @ApiModelProperty(value = "单位造价", required = true)
    @NotBlank(message = "单位造价不能为空")
    private String dwzj;

    @ApiModelProperty(value = "峰时电价", required = true)
    @NotBlank(message = "峰时电价不能为空")
    private String fsdj;

    @ApiModelProperty(value = "谷时电价", required = true)
    @NotBlank(message = "谷时电价不能为空")
    private String gsdj;

    @ApiModelProperty(value = "使用年限", required = true)
    @NotBlank(message = "使用年限不能为空")
    private String synx;

    @ApiModelProperty(value = "更换次数", required = true)
    @NotBlank(message = "更换次数不能为空")
    private String ghcs;

    @ApiModelProperty(value = "每次循环时间", required = true)
    @NotBlank(message = "每次循环时间不能为空")
    private String mcxhsj;

    @ApiModelProperty(value = "每次kwh运维成本", required = true)
    @NotBlank(message = "每次kwh运维成本不能为空")
    private String mkwhywcb;

    @ApiModelProperty(value = "投资方式", required = true)
    @NotBlank(message = "投资方式不能为空")
    private String tzfs;

    @ApiModelProperty(value = "运营时间", required = true)
    @NotBlank(message = "运营时间不能为空")
    private String yysj;

    @ApiModelProperty(value = "电池寿命", required = true)
    @NotBlank(message = "电池寿命不能为空")
    private String dcsm;

    @ApiModelProperty(value = "加权电价", required = true)
    @NotBlank(message = "加权电价不能为空")
    private String jqdj;


//    @ApiModelProperty(value = "安装区域", required = true)
//    @NotNull(message = "用电类型不能为空")
//    private List<String> azqy;
//
//    @ApiModelProperty(value = "安装详细地址", required = true)
//    @NotBlank(message = "项目地址不能为空")
//    private String projectAddress;
//
//    @ApiModelProperty(value = "投资费用", required = true)
//    @NotBlank(message = "投资费用不能为空")
//    private String tzfy;
//
//    @ApiModelProperty(value = "用电方式", required = true)
//    @NotBlank(message = "用电方式不能为空")
//    private String ydfs;
//
//    @ApiModelProperty(value = "电压等级", required = true)
//    @NotBlank(message = "电压等级不能为空")
//    private String voltageLevel;
//
//    @ApiModelProperty(value = "报装容量", required = true)
//    @NotBlank(message = "报装容量不能为空")
//    private String installedCapacity;
//
//    @ApiModelProperty(value = "变压器容量", required = true)
//    private String transformerCapacity;
//
//    @ApiModelProperty(value = "典型日负荷曲线", required = true)
//    @NotBlank(message = "典型日负荷曲线不能为空")
//    private String typicalDailyLoadCurve;
//
//    @ApiModelProperty(value = "月度用电量（选填）")
//    private String monthlyPowerConsumption;
//
//    @ApiModelProperty(value = "运营时间，默认值300")
//    @Positive(message = "运营时间必须大于0")
//    private int operatingTime = 300;
//
//    @ApiModelProperty(value = "电池寿命，默认值6000")
//    @Positive(message = "电池寿命必须大于0")
//    private int batteryLife = 6000;
//
//    @ApiModelProperty(value = "使用年限，默认值10年")
//    @Positive(message = "使用年限必须大于0")
//    private int serviceYears = 10;
//
//    @ApiModelProperty(value = "放电深度，默认值90%")
//    @DecimalMin(value = "0.0", inclusive = true, message = "放电深度不能小于0")
//    @DecimalMax(value = "1.0", inclusive = true, message = "放电深度不能超过100%")
//    private double dischargeDepth = 0.9;
//
//    @ApiModelProperty(value = "储能系统功率", required = true)
//    @DecimalMin(value = "0.0", inclusive = false, message = "储能系统功率必须大于0")
//    private double energySystemPower;
//
//    @ApiModelProperty(value = "储能电池总容量", required = true)
//    @DecimalMin(value = "0.0", inclusive = false, message = "储能电池总容量必须大于0")
//    private double totalBatteryCapacity;
//
//    @ApiModelProperty(value = "储能电池建设成本，默认设置及手动输入", required = true)
//    @DecimalMin(value = "0.0", inclusive = false, message = "储能电池建设成本必须大于0")
//    private double batteryConstructionCost;
//
//    @ApiModelProperty(value = "储能电池运维成本，默认设置及手动输入", required = true)
//    @DecimalMin(value = "0.0", inclusive = false, message = "储能电池运维成本必须大于0")
//    private double batteryOperationCost;
//
//    @ApiModelProperty(value = "投资方式，包括自投自建、第三方投资", required = true)
//    @NotBlank(message = "投资方式不能为空")
//    private String investmentMethod;
//
//    @ApiModelProperty(value = "企业分成", required = true)
//    @DecimalMin(value = "0.0", inclusive = true, message = "企业分成不能小于0")
//    @DecimalMax(value = "1.0", inclusive = true, message = "企业分成不能超过100%")
//    private double enterpriseShare;
//
//    @ApiModelProperty(value = "单位造价，默认值1元")
//    @DecimalMin(value = "0.0", inclusive = false, message = "单位造价必须大于0")
//    private double unitCost = 1.0;
//
//    @ApiModelProperty(value = "基本电费类型", required = true)
//    @NotBlank(message = "基本电费类型不能为空")
//    private String basicElectricityType;

//    @ApiModelProperty(value = "项目地址，可根据地图进行定位和选择")
//    private String projectAddress;
//
//    @ApiModelProperty(value = "用电类型")
//    private String powerType;
//
//    @ApiModelProperty(value = "电压等级")
//    private String voltageLevel;
//
//    @ApiModelProperty(value = "报装容量")
//    private String installedCapacity;
//
//    @ApiModelProperty(value = "变压器容量")
//    private String transformerCapacity;
//
//    @ApiModelProperty(value = "典型日负荷曲线")
//    private String typicalDailyLoadCurve;
//
//    @ApiModelProperty(value = "月度用电量（选填）")
//    private String monthlyPowerConsumption;
//
//    @ApiModelProperty(value = "电压等级，可选值为400V/10KV")
//    private String voltageLevelSelection;
//
//    @ApiModelProperty(value = "运营时间，默认值300")
//    private int operatingTime;
//
//    @ApiModelProperty(value = "电池寿命，默认值6000")
//    private int batteryLife;
//
//    @ApiModelProperty(value = "使用年限，默认值10年")
//    private int serviceYears;
//
//    @ApiModelProperty(value = "放电深度，默认值90%")
//    private double dischargeDepth;
//
//    @ApiModelProperty(value = "储能系统功率")
//    private double energySystemPower;
//
//    @ApiModelProperty(value = "储能电池总容量")
//    private double totalBatteryCapacity;
//
//    @ApiModelProperty(value = "储能电池建设成本，默认设置及手动输入")
//    private double batteryConstructionCost;
//
//    @ApiModelProperty(value = "储能电池运维成本，默认设置及手动输入")
//    private double batteryOperationCost;
//
//    @ApiModelProperty(value = "投资方式，包括自投自建、第三方投资")
//    private String investmentMethod;
//
//    @ApiModelProperty(value = "企业分成")
//    private double enterpriseShare;
//
//    @ApiModelProperty(value = "单位造价，默认值1元")
//    private double unitCost;
//
//    @ApiModelProperty(value = "基本电费类型")
//    private String basicElectricityType;

}
